<?php namespace Common\Model;
use Hdphp\Model\Model;
class Link extends Model{
	//指定表名
	protected $table='link';

	//自动验证指定信息
	protected $validate=array(
		//array(字段名，验证方法，错误信息，验证条件，验证时间)
		array('lname','required','友链名称不能为空',3,3),
		array('sort','required','sort不能为空',3,3),
		array('url','required','url不能为空',3,3)
	);

	//自动完成
	protected $auto=array(
		//array(字段名，处理方法，方法类型，验证时间)
		array('addtime','time','function',3,1),
		array('logo','getLogo','method',3,3)
	);

	public function store(){
		if($this->create()){
			$this->add();
			return true;
		}
		return false;
	}

	public function getLogo(){
		$oldLogo=Q('post.logo');
		//如果没有上传图片返回空字符串
		if($_FILES['logo']['error']==4){
			//如果存在旧图片，返回旧图片
			if($oldLogo){

				return $oldLogo;
			}
			return '';
		}

		//设置上传图片的类型，并且上传
		$files=Upload::type('jpg,jpeg,png,gif')->make();
		//如果$files的值不为空即上传成功，并返回图片地址
		if($files){
			//删除旧图片
			if($oldLogo){
				//删除缩略图
				unlink($oldLogo);
				//删除原图
				$path=str_replace("_thumb",'',$oldLogo);
				unlink($path);

			}
			$c=Image::thumb($files[0]['path'],str_replace(".{$files[0]['ext']}","_thumb.{$files[0]['ext']}",$files[0]['path']),100,100,5);
			return $c;
			
		}
		//如果上传失败把上传错误压入到错误属性，使控制器可以通过getError来调取
		$this->error=Upload::getError();
	}

	public function edit(){
		if($this->create()){
			$this->save();
			return true;
		}
		return false;
	}
	
}